CD-ROM drive is a standard peripheral device for current personal computer (PC) systems. The CD-ROM drive is most commonly interfaced with the host PC through a IDE/ATAPI interface cable with the standard protocol. The primary function of the CD-ROM drive is to read and play the content of a CD-ROM, CDDA audio, and other types of discs. The IDE/ATAPI protocol is defined only for this purpose, and hence it is limited to facilitating the read/write function of these standard storage devices. Other potential functions are not compatible with the IDE/ATAPI protocol as it is currently used. Hence the current CD-ROM drives are limited to this read/write function.
The CD-ROM drives utilizing the IDE/ATAPI bus can only respond to the system command from the host system and carry out the request. The undesirable consequence is that a user has no proper control over the functions such as volume, play, stop, etc., of the CD-ROM drive from an external source, particularly the outside panel of the drive. Although there are some control buttons and knobs on the front panel of the current CD-ROM drives, they are used to control the operation on the drive locally; the information from the buttons is not passed back to the host PC.
This lack of communication, can potentially lead to conflicts between the PC software and the panel control. Because the drive can be controlled by both the hardware buttons and knobs on the front panel as well as from the host PC through IDE/ATAPI commands, the drive sometimes runs into a situation where the user uses the two means of control at the same time. For instance, the user may use the software on host PC to start playing an audio disc yet at the same time, engage the stop/eject button on the panel to stop the disc from playing. In such a situation, the CD-ROM tray may be ejected but the host computer will be unaware of the current status of the CD-ROM drive. This problem arises because there is no communication between the host PC and the control buttons and knobs, and therefore, there is no unified control over the functions of the drive. The host PC has no information in respect to the status of the drive as related to these controls.
This failure in communication between the CD-ROM drive controls and the host computer prevents control devices from being effectively added to the outside panel of the CD-ROM drive. Indeed, the current drives typically do not come with any controls other than a simple eject button and/or volume control. Although other controls are currently provided for in a software format, there are advantages to having effective hard knob and button controls. For one, the software control often takes more steps for the user to execute than a simple external button or a knob. This is particular true if the control software is not already running. Hence, at times, it would take the user 5 to 10 steps to execute a function which may only take a push or a turn if a hard button or knob were provided on the external panel.
But in addition to this shortcoming of the existing systems, the failure in communication also hinders, if not prevents, one from expanding the functions of the CD-ROM drive for uses other than simply reading/writing information from and onto an optical disc. For instance, one cannot attach an IRDA device to a CD-ROM drive to transfer IRDA data from an external source to the host computer. Although currently an IRDA device can be connected to a serial port which is usually located in the back of a computer, data transmission through the IDE/ATAPI port offers an advantage over serial ports in that the IDE/ATAPI port supports a high-speed transfer rate which is a limited precious resource. IRDA devices which are connected via the serial port are typically limited to 115.2 Kbps in the current systems. Protocol for higher baud rates such as 1 Mbps and 4 Mbps have been defined, but they generally require special interfaces which will be expensive to build.
In light of the advantages offered by the hard controls, and the usefulness of having IRDA support for a CD-ROM drive, it would be highly desirable to facilitate an effective communication between the drive and the host PC to be able to utilize hard knobs and buttons for the drive control, and use the IDE/ATAPI bus to pass other types of information, such as IRDA data, which other interface ports may not be able to provide a suitable throughput.